package com.prik.observer.order.subject;


import com.prik.observer.order.observer.Observer;

/**
 * 主题
 *
 * @author prik
 * @date 2019/7/17
 */
public interface Subject<T> {

    /**
     * 观察者注册
     * @param o
     */
    void registerObserver(Observer o);

    /**
     * 观察者退出
     * @param o
     */
    void removeObserver(Observer o);

    /**
     * 发出通知
     * @param t
     */
    void notifyObservers(T t);

}
